package cn.edu.masu._20241017;

/**
 * @Description 定义一个名为Area的类，并编写主类Test测试该类的功能。
 * Area类可以求圆的面积，有一个属性和一个方法
 * 分别是表示半径的属性r，表示获取圆面积的方法getArea();
 * @Author xuezipeng
 * @Date 2024-10-17 12:12
 */
public class Text {

    public static void main(String[] args) {
        System.out.println(
                String.format("圆的面积为: %f ", Area.builder().r(3.0).build().getArea())
        );
    }

    public static class Area{

        private final static Double π = 3.14;

        private Double r;

        public Double getArea() {
            return π * this.r * this.r;
        }

        public Area r(Double r){
            this.r = r;
            return this;
        }

        public static Area builder(){
            Area area = new Area();
            area.r = 0.0;
            return area;
        }

        public Area build() {
            return this;
        }

    }

}
